From 8df09a9d1590458d97713a5e118f4d3b063c456c Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Tue, 28 Feb 2006 18:56:00 +0100 Subject: [PATCH] Allow blkback to be built as a module. From: Jan Beulich Signed-off-by: Keir Fraser --- linux-2.6-xen-sparse/drivers/xen/Kconfig | 6 ++--- .../drivers/xen/blkback/Makefile | 3 ++- .../drivers/xen/blkback/blkback.c | 22 ++++++++++++------- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/linux-2.6-xen-sparse/drivers/xen/Kconfig b/linux-2.6-xen-sparse/drivers/xen/Kconfig index 94ee23a49a..046de51a21 100644 --- a/linux-2.6-xen-sparse/drivers/xen/Kconfig +++ b/linux-2.6-xen-sparse/drivers/xen/Kconfig @@ -68,7 +68,7 @@ config XEN_PCIDEV_BE_DEBUG default n config XEN_BLKDEV_BACKEND - bool "Block-device backend driver" + tristate "Block-device backend driver" default y help The block-device backend driver allows the kernel to export its @@ -76,7 +76,7 @@ config XEN_BLKDEV_BACKEND interface. config XEN_BLKDEV_TAP_BE - bool "Block Tap support for backend driver (DANGEROUS)" + tristate "Block Tap support for backend driver (DANGEROUS)" depends on XEN_BLKDEV_BACKEND default n help @@ -145,7 +145,7 @@ config XEN_NETDEV_FRONTEND (domain 0), then you almost certainly want to say Y here. config XEN_BLKDEV_TAP - bool "Block device tap driver" + tristate "Block device tap driver" default n help This driver allows a VM to interact on block device channels diff --git a/linux-2.6-xen-sparse/drivers/xen/blkback/Makefile b/linux-2.6-xen-sparse/drivers/xen/blkback/Makefile index 1bdc43fc24..8bab63da3b 100644 --- a/linux-2.6-xen-sparse/drivers/xen/blkback/Makefile +++ b/linux-2.6-xen-sparse/drivers/xen/blkback/Makefile @@ -1,2 +1,3 @@ +obj-$(CONFIG_XEN_BLKDEV_BACKEND) := blkbk.o -obj-y := blkback.o xenbus.o interface.o vbd.o +blkbk-y := blkback.o xenbus.o interface.o vbd.o diff --git a/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c b/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c index 23b47b5f72..d624cafe95 100644 --- a/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c +++ b/linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c @@ -29,14 +29,10 @@ * 64 should be enough to keep us competitive with Linux. */ static int blkif_reqs = 64; -static int mmap_pages; +module_param_named(reqs, blkif_reqs, int, 0); +MODULE_PARM_DESC(reqs, "Number of blkback requests to allocate"); -static int __init set_blkif_reqs(char *str) -{ - get_option(&str, &blkif_reqs); - return 1; -} -__setup("blkif_reqs=", set_blkif_reqs); +static int mmap_pages; /* Run-time switchable: /sys/module/blkback/parameters/ */ static unsigned int log_stats = 0; @@ -574,10 +570,20 @@ static int __init blkif_init(void) list_add_tail(&pending_reqs[i].free_list, &pending_free); blkif_xenbus_init(); + __unsafe(THIS_MODULE); return 0; } -__initcall(blkif_init); +module_init(blkif_init); + +static void blkif_exit(void) +{ + BUG(); +} + +module_exit(blkif_exit); + +MODULE_LICENSE("Dual BSD/GPL"); /* * Local variables: -- 2.30.2